package com.zjuee.base.model.common.ledger;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjuee.base.model.Description;
import com.zjuee.base.valid.Insert;
import lombok.*;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 处置台账汇总表
 *
 * @author wu liang
 * @since 1.0
 */
@Data
@TableName("wk_ledger_dispose_gather")
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class LedgerDisposeGather extends Description {

	/**企业ID*/
	private Long bciId;

	/**计划ID*/
	private Long wpiId;

	/**废物大类别  1：危废  2：固废*/
	@NotNull(groups = Insert.class)
	private Integer wldgModel;
	/**废物大类别  1：危废  2：固废-中文*/
	@TableField(exist = false)
	private String wldgModelStr;

	/**废物小类别  11：危废  12：医废  21：固废 22：大宗固废*/
	@NotNull(groups = Insert.class)
	private Integer wldgType;

	/**废物小类别  11：危废  12：医废  21：固废 22：大宗固废-中文*/
	@TableField(exist = false)
	private String wldgTypeStr;

	/**台账类型 1：普通台账  2：应急台账  3：收集台账*/
	@NotNull(groups = Insert.class)
	private Integer wldgMark;
	@TableField(exist = false)
	private String wldgMarkStr;

	/**废物大类*/
	private String wldgBcode;

	/**废物小类*/
	@NotNull(groups = Insert.class)
	private String wldgCode;

	/**废物名称(计划中手动输入名称)*/
	private String wldgName;

	/**年份*/
	private String wldgYear;

	/**处置方式*/
	@NotNull(groups = Insert.class)
	private String wldgDisposeMode;
	@TableField(exist = false)
	private String wldgDisposeModeStr;

	/**处置方式(小类)*/
	@NotNull(groups = Insert.class)
	private String wldgDisposeSmode;
	@TableField(exist = false)
	private String wldgDisposeSmodeStr;

	/**转入量总计(吨)*/
	private BigDecimal wldgTotalShift;

	/**线下转入量(吨)*/
	private BigDecimal wldgUnderShift;

	/**上年底库存量(吨)*/
	private BigDecimal wldgPreStock;

	/**处置量总计(吨)*/
	private BigDecimal wldgTotalDispose;

	/**线下处置量(吨)*/
	private BigDecimal wldgUnderDispose;

	/**当前库存量(吨)*/
	private BigDecimal wldgStock;

	/**库存变动量(吨)*/
	private BigDecimal wldgChange;

	/**能否删除 1：是  2：否*/
	private String wldgCanDelete;

	/**能否编辑 1：是 2：否*/
	private String wldgCanEdit;
	@TableField(exist = false)
	private String wldgCanEditStr;

	/**创建人*/
	private String wldgCreator;

	/**创建时间*/
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
	private Date wldgCreateTime;

	/**修改人*/
	private String wldgModifier;

	/**修改时间*/
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
	private Date wldgModifiedTime;
	/**是否初次填报*/
//	private Integer wldgCanInit;

	@TableField(exist = false)
	private String bciName;
	/**所属市*/
	@TableField(exist = false)
	private String city;
	/**所属区*/
	@TableField(exist = false)
	private String area;
	/**所属街道*/
	@TableField(exist = false)
	private String street;
}
